Program Derivation by Correctness Enhacements
نویسندگان
چکیده
Relative correctness is the property of a program to be more-correct than another program with respect to a given specification. Among the many properties of relative correctness, that which we found most intriguing is the property that program P′ refines program P if and only if P′ is morecorrect than P with respect to any specification. This inspires us to reconsider program derivation by successive refinements: each step of this process mandates that we transform a program P into a program P′ that refines P, i.e. P′ is more-correct than P with respect to any specification. This raises the question: why should we want to make P′ more-correct than P with respect to any specification, when we only have to satisfy specification R? In this paper, we discuss a process of program derivation that replaces traditional sequence of refinement-based correctness-preserving transformations starting from specification R by a sequence of relative correctness-based correctness-enhancing transformations starting from abort.
منابع مشابه
Program Derivation by Correctness Enhancements
Relative correctness is the property of a program to be morecorrect than another program with respect to a given specification. Among the many properties of relative correctness, that which we found most intriguing is the property that program P ′ refines program P if and only if P ′ is more-correct than P with respect to any specification. This inspires us to reconsider program derivation by s...
متن کاملAn intensional semantics for elementary program transformations
This paper is a contribution to the formal study and analysis of vernacular forms of program derivation. Specifically, in this paper, our vernacular derivations are elementary program transformations over the natural numbers. We provide an intensional semantics for these transformations within the derivations of the Elementary theory of Operations and Numbers, EON, [Bee85]. This semantics is in...
متن کاملAlgebra of programming in Agda: Dependent types for relational program derivation
Relational program derivation is the technique of stepwise refining a relational specification to a program by algebraic rules. The program thus obtained is correct by construction. Meanwhile, dependent type theory is rich enough to express various correctness properties to be verified by the type checker. We have developed a library, AoPA, to encode relational derivations in the dependently ty...
متن کاملSoftware Evolution by Correctness Enhancement
Relative correctness is the property of a program to be more-correct than another with respect to a specification; this property enables us to rank candidate programs in a partial ordering structure whose maximal elements are the correct programs. Whereas traditionally we think of program derivation as a process of successive correctnesspreserving transformations (using refinement) starting fro...
متن کاملProgram Repair by Stepwise Correctness Enhancement
Relative correctness is the property of a program to be more-correct than another with respect to a given specification. Whereas the traditional definition of (absolute) correctness divides candidate program into two classes (correct, and incorrect), relative correctness arranges candidate programs on the richer structure of a partial ordering. In other venues we discuss the impact of relative ...
متن کامل